package com.comprehensive.personalmovie.service;

import com.comprehensive.common.dto.PageResponse;
import com.comprehensive.common.po.MovieEpisodes;
import com.comprehensive.common.po.MovieSeasons;
import com.comprehensive.common.po.Movies;

import java.util.List;

public interface MovieService {

    /**
     * 分页查询电影列表
     * @param pageNum 页码
     * @param pageSize 每页大小
     * @return 分页响应对象
     */
    PageResponse<Movies>listPage(int pageNum,int pageSize,int type,String name);

    /**
     * 根据ID查询电影详情
     * @param id 电影ID
     * @return 电影对象
     */
    Movies getMovieById(long id);
    /**
     * 新增电影
     * @param movie 电影对象
     * @return 是否新增成功
     */
    boolean addMovie(Movies movie);
    boolean updateMovie(Movies movie);
    boolean deleteMovie(long id);

    /**
     * 根据电影ID查询所有季
     * @param movieId 电影ID
     * @return 季列表
     */
    List<MovieSeasons> getMovieSeasons(long movieId);
    boolean addMovieSeasons(MovieSeasons movieSeasons);
    boolean updateMovieSeasons(MovieSeasons movieSeasons);
    boolean deleteMovieSeasons(long id);
    /**
     * 根据季ID查询所有剧集
     * @param seasonId 季ID
     * @return 剧集列表
     */
    List<MovieEpisodes> getMovieEpisodes(long seasonId);
    MovieEpisodes getMovieEpisodesById(long id);
    boolean addMovieEpisodes(MovieEpisodes movieEpisodes);
    boolean updateMovieEpisodes(MovieEpisodes movieEpisodes);
    boolean deleteMovieEpisodes(long id);
}
